home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / doom / udoom-1.1 / udoom-1 / udoom.pat < prev   
Text File  |  1995-07-31  |  8KB  |  344 lines

  1. # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. #
  3. #                        The Ultimate LinuxDOOM Patch
  4. #
  5. #                    for X-DOOM & SVGA-DOOM, version 1.8
  6. #
  7. #
  8. #                         version 1.1 (final release)
  9. #
  10. #
  11. #           Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de)
  12. #
  13. #           last modified:  Sat Jul 29 1995, 12:47
  14. #
  15. # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  16.  
  17. @xdoom
  18. -c
  19. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  20. #+                                                                          +
  21. #+                        The Ultimate LinuxDOOM Patch                      +
  22. #+                                                                          +
  23. #+                           for X-DOOM, version 1.8                        +
  24. #+                                                                          +
  25. #+                                                                          +
  26. #+                         version 1.1 (final release)                      +
  27. #+                                                                          +
  28. #+                                                                          +
  29. #+           Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de)      +
  30. #+                                                                          +
  31. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  32. -q -C
  33.  
  34. # name of the file to patch
  35. -f xdoom
  36.  
  37. # some variables
  38. {
  39. :2b200 v0
  40.  
  41. :3e8f0 v40
  42. :5fba0 v50
  43. :4f668 v51
  44. :4d52c v52
  45. :5fbbc v53
  46. :3c880 v54
  47. :5fba0 v55
  48. :49df0 v56
  49. :fc554 v57
  50. :fc5e8 v58
  51. }
  52.  
  53. -n@common
  54.  
  55. @sdoom
  56. -c
  57. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  58. #+                                                                          +
  59. #+                        The Ultimate LinuxDOOM Patch                      +
  60. #+                                                                          +
  61. #+                         for SVGA-DOOM, version 1.8                       +
  62. #+                                                                          +
  63. #+                                                                          +
  64. #+                         version 1.1 (final release)                      +
  65. #+                                                                          +
  66. #+                                                                          +
  67. #+           Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de)      +
  68. #+                                                                          +
  69. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  70. -q -C
  71.  
  72. # name of the file to patch
  73. -f sdoom
  74.  
  75. # some variables
  76. {
  77. :2a400 v0
  78.  
  79. :3d8f0 v40
  80. :5e720 v50
  81. :4e630 v51
  82. :4c4f4 v52
  83. :5e73c v53
  84. :3b880 v54
  85. :5e720 v55
  86. :48db8 v56
  87. :7b0b8 v57
  88. :7b0e8 v58
  89. }
  90.  
  91. -n@common
  92.  
  93. @common            # relevant to both sdoom & xdoom
  94.  
  95. -m 3            # 3 passes
  96. :0x400 o        # header
  97.  
  98. # build up a new menu to replace the episode selection menu
  99. -p v54 w4        # 4 entries
  100. -p v54+8 wv1        # table begin
  101.  
  102. # extend array with level names
  103. -p v40 wv41 wv42 wv43 wv44 wv45 wv46 wv47 wv48 wv49
  104.  
  105. -p0x00000
  106.  
  107. # very tricky! see code at label 200-250
  108. # changes appearance of summary screen
  109. =22af4 3        # cmpl $>>0x3<<,%eax
  110. =22c36 3        # cmpl $>>0x3<<,(%eax)
  111. =22044 {
  112. e9 Jv100        # jmp v100
  113. :$ v10
  114. }
  115.  
  116. # play demos of versions >=1.4
  117. =07682 104 0x73
  118.  
  119. # demo mode is quite different
  120. =02590 w0x268c        # play demo4
  121. =024f9 {
  122. 'demo4' 0        # 'demo4', 0
  123. =0265c
  124. 83 3d wv50 0        # cmpl $0x0,v50        ; 0x5fba0, 0x5e720
  125. 74 j26ac        # je 0x26ac
  126. c7 05 wv51 w3        # movl $0x3,v51        ; 0x4f668, 0x4e630
  127. =268c
  128. 83 3d wv50 0        # cmpl $0x0,v50        ; 0x5fba0, 0x5e720
  129. 75 j26ac        # jne 0x26ac
  130. 68 w24f9        # pushl 0x24f9
  131. eb j26b1        # jmp 0x26b1
  132. }
  133.  
  134. # the sky texture
  135. =07303 {
  136. 'SKY4' 0        # 'SKY4', 0
  137. =07331
  138. 68 w7303        # pushl $0x7303
  139. eb j7361        # jmp 0x7361
  140. }
  141.  
  142. # let idclev work up to episode 4
  143. =23c40 3
  144.  
  145. # start a new level
  146. =07168 4        # max episode
  147. =0716c w4        # dto.
  148.  
  149. # the episode-end-screen
  150. =00ffa {
  151. 7f j1003        # jg 0x1003
  152. =01003
  153. 83 f8 4            # cmpl $0x4,%eax
  154. 72 j1060        # jb 0x1060
  155. 77 j1076             # ja 0x1076
  156. c7 05 wv52 w1032     # movl $0x1032,v52    ; 0x4d52c, 0x4c4f4
  157. 0ba wv2            # $v2,%edx        ; 0x2b300, 0x2a500
  158. eb j1070        # jmp 0x1070
  159. =01032 
  160. 'MFLR8_3' 0        # ressource for 4th episode end screen
  161. }
  162.  
  163. # implement the assignment of end-screens
  164. =01e62 4         # cmpl $>>0x4<<,%eax
  165. =01e63 0x72        # >>jb<< 0x1ea0
  166. =01e65 {
  167. 77 j1e51        # ja 0x1e51
  168. 6a 65            # pushl $0x65
  169. 68 w1e99        # pushl $0x1e99        ; 4th episode
  170. eb j1e77        # jmp 0x1e77
  171. =01e73 w24ec        # pushl $>>0x24ec<<    ; 1st episode
  172. =01e99            # create some new data...
  173. 'ENDPIC' 0        # 'ENDPIC', 0
  174. }
  175.  
  176. # the new secret level
  177. =06951 {
  178. c6 5 wv53 2        # movb $0x2,v53        ; 0x5fbbc, 0x5e73c
  179. eb j6998        # jmp 0x6998
  180. }
  181.  
  182. # killing the spider demon in e4m8 should lower sector 666
  183. =0ec97 0x7b        # >>jnp<< 0xecb0
  184.  
  185. # go to next (new) level
  186. =22af4 3        # cmpl $>>0x3<<,%eax
  187.  
  188. # no background music at all
  189. # =265b0 0xc3
  190.  
  191. # test music numbers
  192. # =265c2 0
  193.  
  194. # background music
  195. =26ee0 {
  196. e9 Jv300        # jmp v300
  197. :$ v30
  198. }
  199.  
  200. # startup message
  201. =02ee0 'The Ultimate LinuxDOOM Startup v%i.%i'
  202.  
  203. # some data
  204. -p v0
  205.  
  206. # the episode selection menu
  207. :$ v1 {
  208. s1 'M_EPI1' w0 w859c w6b
  209. s1 'M_EPI2' w0 w859c w74
  210. s1 'M_EPI3' w0 w859c w69
  211. s1 'M_EPI4' w0 w859c w74
  212. }
  213.  
  214. # message appearing after episode 4
  215. :$ v2
  216. 'the spider mastermind must have sent forth
  217. its legions of hellspawn before your
  218. final confrontation with that terrible
  219. beast from hell.  but you stepped forward
  220. and brought forth eternal damnation and
  221. suffering upon the horde as a true hero
  222. would in the face of something so evil.
  223.  
  224. besides, someone was gonna pay for what
  225. happened to daisy, your pet rabbit.
  226.  
  227. but now, you see spread before you more
  228. potential pain and gibbitude as a nation
  229. of demons run amok among our cities.
  230.  
  231. next stop, hell on earth!' 0
  232.  
  233. # the new level names
  234. :$ v41 'E4M1: Hell Beneath' 0
  235. :$ v42 'E4M2: Perfect Hatred' 0
  236. :$ v43 'E4M3: Sever The Wicked' 0
  237. :$ v44 'E4M4: Unruly Evil' 0
  238. :$ v45 'E4M5: They Will Repent' 0
  239. :$ v46 'E4M6: Against Thee Wickedly' 0
  240. :$ v47 'E4M7: And Hell Followed' 0
  241. :$ v48 'E4M8: Unto The Cruel' 0
  242. :$ v49 'E4M9: Fear' 0
  243.  
  244. # remap background music for episode 4
  245. :$ v300 {
  246. a1 wv57            # movl v57,%eax        ; episode
  247. 83 f8 4            # cmpl $0x4,%eax
  248. 0f 85 Jv30        # jnz v30
  249. a1 wv58            # movl v58,%eax        ; level
  250. 8a 80 wv310-1        # mov v310-1(%eax),%al
  251. e9 J26eef        # jmp 0x26eef
  252. }
  253. :$ v310 22 20 21 5 16 13 15 14 9
  254.  
  255. # change appearance of summary screen for episode 4
  256. :$ v100 {
  257. 83 f8 3            # cmpl $0x3,%eax
  258. 75 jv110        # jnz v110
  259. 68 wv190        # pushl $v190
  260. eb jv120        # jmp v120
  261. :$ v110
  262. 68 w21f1e        # pushl $0x21f1e
  263. :$ v120
  264. e9 Jv10            # jmp v10
  265. }
  266. :$ v190 'INTERPIC' 0
  267.  
  268. # dto.
  269. {
  270. :$ v200
  271. 0f 85 J20693        # jnz 0x20693
  272. a1 wv56            # movl v56,%eax
  273. 83 38 3            # cmpl $0x3,(%eax)
  274. 0f 84 J20693        # jz 0x20693
  275. e9 Jv20            # jmp v20
  276.  
  277. :$ v210
  278. 0f 85 J207b4        # jnz 0x207b4
  279. a1 wv56            # movl v56,%eax        ; 0x49df0, 0x48db8
  280. 83 38 3            # cmpl $0x3,(%eax)
  281. 0f 84 J207b4        # jz 0x207b4
  282. e9 Jv21            # jmp v21
  283.  
  284. :$ v220
  285. a1 wv56            # movl v56,%eax
  286. 83 38 3            # cmpl $0x3,(%eax)
  287. 0f 84 J20830        # jz 0x20830
  288. 83 3d wv55 0        # cmpl $0x0,v55        ; 0x5fba0, 0x5e720
  289. e9 Jv22            # jmp v22
  290.  
  291. :$ v230
  292. a1 wv56            # movl v56,%eax
  293. 83 38 3            # cmpl $0x3,(%eax)
  294. 0f 84 J221f8        # jz 0x221f8
  295. 92            # xchgl %eax,%edx
  296. e9 Jv23            # jmp v23
  297.  
  298. :$ v240
  299. a1 wv56            # movl v56,%eax
  300. 83 38 3            # cmpl $0x3,(%eax)
  301. 0f 84 J22689        # jz 0x22689
  302. 92            # xchgl %eax,%edx
  303. e9 Jv24            # jmp v24
  304.  
  305. :$ v250
  306. a1 wv56            # movl v56,%eax
  307. 83 38 3            # cmpl $0x3,(%eax)
  308. 0f 84 J205cb        # jz 0x205cb
  309. e9 Jv25            # jmp v25
  310. }
  311.  
  312. # dto.
  313. {
  314. -p205ec
  315. e9 Jv200        # jmp v200
  316. 90            # nop
  317. :$ v20
  318.  
  319. -p206bc
  320. e9 Jv210        # jmp v210
  321. 90            # nop
  322. :$ v21
  323.  
  324. -p207d1
  325. e9 Jv220        # jmp v220
  326. 90 90            # nop*2
  327. :$ v22
  328.  
  329. -p2215a
  330. e9 Jv230        # jmp v230
  331. 90            # nop
  332. :$ v23
  333.  
  334. -p225b7
  335. e9 Jv240        # jmp v240
  336. 90            # nop
  337. :$ v24
  338.  
  339. -p204f7
  340. e9 Jv250        # jmp v250
  341. :$ v25
  342. }
  343.  
  344.